var fs = require('node:fs');
const path = require('node:path');
// var fsPromises = require('node:fs/promises');

// 默认在当前工作目录(执行命令的目录)下查找current working directory
// __dirname,__filename,
// console.log('__dirname', __dirname);
// console.log('__filename', __filename);
// console.log('process.cwd()', process.cwd());
// __dirname d:\myProject\node-demo\apps\node-start\fs
// __filename d:\myProject\node-demo\apps\node-start\fs\writeFile.js
// process.cwd() D:\myProject\node-demo
// 注意事项: 在node中获取路径最好使用path.resolve(__dirname, xx)方法,
// 获取的路径才不会因为执行目录的不同而出现找不到文件的问题
// 1.异步读取
// fs.readFile('./input.txt', function (err, data) {
fs.readFile(path.resolve(__dirname, './input.txt'), function (err, data) {
  if (err) {
    return console.error(err);
  }
  console.log('异步读取: ' + data.toString());
});

// 2.同步读取
// var data = fs.readFileSync(path.resolve(__dirname, './input.txt'));
// console.log('同步读取: ' + data.toString());

// console.log('程序执行完毕。');

// 3.promise读取
// const { readFile } = require('node:fs/promises');

// (async function (path) {
//   try {
//     // 读取文件
//     const res = await readFile(path);
//     console.log(`promise 读取文件`, res, res.toString());
//     // 删除文件
//     // await unlink(path);
//     // console.log(`successfully deleted ${path}`);
//   } catch (error) {
//     console.error('there was an error:', error.message);
//   }
// })(path.resolve(__dirname, './input.txt'));
// promise 读取文件 <Buffer e8 8f 9c e9 b8 9f e6 95 99 e7 a8 8b e5 ae 98 e7 bd 91 e5 9c b0 e5 9d 80 ef bc 9a 77 77 77 2e 72 75 6e 6f 6f 62 2e 63 6f 6d 0a e6 96 87 e4 bb b6 e8 af ... 11 more bytes> 菜鸟教程官网地址：www.runoob.com
// 文件读取实例
